home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / examples / demo / opengl / glcontrolwidget.h.z / glcontrolwidget.h
C/C++ Source or Header  |  2002-04-08  |  1KB  |  56 lines

  1. #ifndef GLCONTROLWIDGET_H
  2. #define GLCONTROLWIDGET_H
  3.  
  4. #include <qgl.h>
  5.  
  6. class GLControlWidget : public QGLWidget
  7. {
  8.     Q_OBJECT
  9.  
  10. public:
  11.     GLControlWidget( QWidget *parent, const char *name = 0, QGLWidget *share = 0, WFlags f = 0 );
  12.  
  13.     virtual void    transform();
  14.  
  15. public slots:
  16.     void        setXRotation( double degrees );
  17.     void        setYRotation( double degrees );
  18.     void        setZRotation( double degrees );
  19.  
  20.     void        setScale( double s );
  21.  
  22.     void        setXTrans( double x );
  23.     void        setYTrans( double y );
  24.     void        setZTrans( double z );
  25.  
  26.     virtual void    setRotationImpulse( double x, double y, double z );
  27.     virtual void    setTranslationImpulse( double x, double y, double z );
  28.  
  29. protected:
  30.     void        setAnimationDelay( int ms );
  31.     void        mousePressEvent( QMouseEvent *e );
  32.     void        mouseReleaseEvent( QMouseEvent *e );
  33.     void        mouseMoveEvent( QMouseEvent * );
  34.     void        mouseDoubleClickEvent( QMouseEvent * );
  35.     void        wheelEvent( QWheelEvent * );
  36.  
  37.     void        showEvent( QShowEvent * );
  38.     void        hideEvent( QHideEvent * );
  39.  
  40.     GLfloat xRot, yRot, zRot;
  41.     GLfloat xTrans, yTrans, zTrans;
  42.     GLfloat scale;
  43.     bool animation;
  44.  
  45. protected slots:
  46.     virtual void    animate();
  47.  
  48. private:
  49.     bool wasAnimated;
  50.     QPoint oldPos;
  51.     QTimer* timer;
  52.     int delay;
  53. };
  54.  
  55. #endif
  56.